#ifndef __GUI_FACTORY_MANAGER__
#define __GUI_FACTORY_MANAGER__

#include <map>
#include "GUIFactory.h"
#include "GUISingleton.h"

namespace YGUI
{
    class FactoryManager : public Singleton<FactoryManager>
    {
    private:
        FactoryManager(void);
        FactoryManager(const FactoryManager& fm);
        FactoryManager& operator = (const FactoryManager& fm);

    public:
        ~FactoryManager(void);

    public:
        static FactoryManager& getSingleton(void);
        static FactoryManager* getSingletonPtr(void);

    public:
        s

    private:
        typedef std::map<std::string, WindowFactory*> FactoryList;

        FactoryList m_factories;
    };
};

#endif